using System;
using System.Data.SqlTypes;

namespace EntityObjectLayer
{
    [Serializable]
    public class BEMark
    {
        #region Class Member Declarations

        private SqlBoolean m_bStatus;
        private DateTime m_daDateOfMark;
        private SqlDouble m_fMarkValue;
        private SqlInt32 m_iID;
        private SqlInt32 m_iRatio;
        private SqlString m_sMarkType;
        private SqlString m_sPupil, m_sPupilOld;
        private SqlString m_sSubject, m_sSubjectOld;

        #endregion

        #region Class Property Declarations

        public SqlDouble fMarkValue
        {
            get { return m_fMarkValue; }
            set
            {
                SqlDouble fMarkValueTmp = value;
                if (fMarkValueTmp.IsNull)
                {
                    throw new ArgumentOutOfRangeException("fMarkValue", "fMarkValue can't be NULL");
                }
                m_fMarkValue = value;
            }
        }


        public SqlString sMarkType
        {
            get { return m_sMarkType; }
            set
            {
                SqlString sMarkTypeTmp = value;
                if (sMarkTypeTmp.IsNull)
                {
                    throw new ArgumentOutOfRangeException("sMarkType", "sMarkType can't be NULL");
                }
                m_sMarkType = value;
            }
        }


        public SqlInt32 iRatio
        {
            get { return m_iRatio; }
            set
            {
                SqlInt32 iRatioTmp = value;
                if (iRatioTmp.IsNull)
                {
                    throw new ArgumentOutOfRangeException("iRatio", "iRatio can't be NULL");
                }
                m_iRatio = value;
            }
        }


        public SqlString sPupil
        {
            get { return m_sPupil; }
            set
            {
                SqlString sPupilTmp = value;
                if (sPupilTmp.IsNull)
                {
                    throw new ArgumentOutOfRangeException("sPupil", "sPupil can't be NULL");
                }
                m_sPupil = value;
            }
        }

        public SqlString sPupilOld
        {
            get { return m_sPupilOld; }
            set
            {
                SqlString sPupilOldTmp = value;
                if (sPupilOldTmp.IsNull)
                {
                    throw new ArgumentOutOfRangeException("sPupilOld", "sPupilOld can't be NULL");
                }
                m_sPupilOld = value;
            }
        }


        public SqlString sSubject
        {
            get { return m_sSubject; }
            set
            {
                SqlString sSubjectTmp = value;
                if (sSubjectTmp.IsNull)
                {
                    throw new ArgumentOutOfRangeException("sSubject", "sSubject can't be NULL");
                }
                m_sSubject = value;
            }
        }

        public SqlString sSubjectOld
        {
            get { return m_sSubjectOld; }
            set
            {
                SqlString sSubjectOldTmp = value;
                if (sSubjectOldTmp.IsNull)
                {
                    throw new ArgumentOutOfRangeException("sSubjectOld", "sSubjectOld can't be NULL");
                }
                m_sSubjectOld = value;
            }
        }


        public DateTime daDateOfMark
        {
            get { return m_daDateOfMark; }
            set
            {
                m_daDateOfMark = value;
            }
        }


        public SqlBoolean bStatus
        {
            get { return m_bStatus; }
            set
            {
                SqlBoolean bStatusTmp = value;
                if (bStatusTmp.IsNull)
                {
                    throw new ArgumentOutOfRangeException("bStatus", "bStatus can't be NULL");
                }
                m_bStatus = value;
            }
        }

        public SqlInt32 iID
        {
            get { return m_iID; }
            set 
            {
                SqlInt32 iIDTmp = value;
                if (iIDTmp.IsNull)
                {
                    throw new ArgumentOutOfRangeException("iID", "bStatus can't be NULL");
                }
                m_iID = value;
            }
        }

        #endregion
    }
}